package array

// 输入一个整型数组，数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值
// 要求时间复杂度为on

func MaxSubArray(numbs []int) int {
	max := numbs[0]
	for i := 1; i < len(numbs); i++ {
		if numbs[i-1] > 0 {
			numbs[i] += numbs[i-1]
		}
		if numbs[i] > max {
			max = numbs[i]
		}
	}
	return max
}
